*win_y = (gint) xwin_y;
if (mask)
- *mask = _gdk_x11_device_xi2_translate_state (&mod_state, &button_state);
+ *mask = _gdk_x11_device_xi2_translate_state (&mod_state, &button_state, &group_state);
free (button_state.mask);
*win_y = (window) ? (gint) xwin_y : -1;
if (mask)
- *mask = _gdk_x11_device_xi2_translate_state (&mod_state, &button_state);
+ *mask = _gdk_x11_device_xi2_translate_state (&mod_state, &button_state, &group_state);
free (button_state.mask);
guint
_gdk_x11_device_xi2_translate_state (XIModifierState *mods_state,
- XIButtonState *buttons_state)
+ XIButtonState *buttons_state,
+ XIGroupState *group_state)
{
guint state = 0;
event->key.window = window;
event->key.time = xev->time;
- event->key.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons);
+ event->key.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
event->key.group = _gdk_x11_get_group_for_state (display, event->key.state);
event->key.hardware_keycode = xev->detail;
GUINT_TO_POINTER (xev->sourceid));
gdk_event_set_source_device (event, source_device);
- event->scroll.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons);
+ event->scroll.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
break;
}
/* else (XI_ButtonRelease) fall thru */
gdk_device_get_axis (device, event->button.axes, GDK_AXIS_Y, &event->button.y);
}
- event->button.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons);
+ event->button.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
event->button.button = xev->detail;
}
GUINT_TO_POINTER (xev->sourceid));
gdk_event_set_source_device (event, source_device);
- event->motion.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons);
+ event->motion.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
/* There doesn't seem to be motion hints in XI */
event->motion.is_hint = FALSE;
event->crossing.mode = translate_crossing_mode (xev->mode);
event->crossing.detail = translate_notify_type (xev->detail);
- event->crossing.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons);
+ event->crossing.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
}
break;
case XI_FocusIn:
guchar * _gdk_x11_device_xi2_translate_event_mask (GdkEventMask event_mask,
gint *len);
guint _gdk_x11_device_xi2_translate_state (XIModifierState *mods_state,
- XIButtonState *buttons_state);
+ XIButtonState *buttons_state,
+ XIGroupState *group_state);
void _gdk_x11_event_translate_keyboard_string (GdkEventKey *event);